技術問答
技術文章
iT 徵才
聊天室
2025 鐵人賽
登入/註冊
問答
文章
Tag
邦友
鐵人賽
搜尋
2024 iThome 鐵人賽
DAY
30
0
Software Development
RISC-V 與處理器之架構學習及應用
系列 第
30
篇
[Day30] 從抽象層次到效能改善
16th鐵人賽
凱特
2024-10-14 00:09:15
321 瀏覽
分享至
1.
Abstraction
:
程式的表示層級:
高階語言程式
(例如 C):人類可讀的語言,易於撰寫但難以高效執行。
組合語言程式
(例如 RISC-V):稍微接近硬體,易於機器理解,但需要較多的技術知識撰寫。
機器語言程式
(RISC-V):直接在硬體上執行的語言,最難撰寫,但效率最高。
2.
Language Execution Continuum
:
Interpreter (解釋器)
:一個程式,用來直接執行其他程式的源代碼。
解釋高階語言(例如 Python, Java)時效率較低,但易於編寫。
執行機器碼時效率最高,但難以編寫。
翻譯 (Translation)
:將程式從一種語言轉換到另一種語言,以提高執行效率。
3.
Interpretation vs. Translation
:
Interpreter (解釋器)
:直接執行源語言中的程式。
Translator (翻譯器)
:將程式從源語言轉換為另一個語言的等效程式。
4.
Interpretation
:
舉例:Python 程式
foo.py
會由 Python 解釋器讀取並執行。
Python 解釋器是一個程式,負責讀取和執行 Python 程式的功能。
5.
Why interpret machine language in software?
:
模擬器 (例如 VENUS RISC-V)
:適用於學習和除錯。
蘋果 Mac 系統轉換案例
:從 Motorola 680x0 指令集轉換到 PowerPC,讓程式保留了舊的機器碼和新的機器碼,並在必要時模擬舊的機器碼。
6.
Interpretation vs. Translation
:
解釋器較容易撰寫,因為更靠近高階語言。
解釋器執行速度較慢(大約是翻譯的十分之一),但程式碼較小。
翻譯/編譯的程式碼幾乎總是更高效,適合對性能要求高的應用,如操作系統。
7.
Translation/Compilation and Open Source
:
翻譯和編譯過程可以將程式的源碼隱藏,這在市場中有助於創造價值(例如,微軟保持其源碼秘密)。
另一種模式是開放源碼,通過公開源碼來創造價值並促進開發者社群。
留言
追蹤
檢舉
上一篇
[Day29] 總結與流程 (5/5)
系列文
RISC-V 與處理器之架構學習及應用
共
30
篇
目錄
RSS系列文
訂閱系列文
0
人訂閱
26
[Day26] CALL: Assembler (2/5)
27
[Day27] CALL: Linker (3/5)
28
[Day28] CALL: Loader (4/5)
29
[Day29] 總結與流程 (5/5)
30
[Day30] 從抽象層次到效能改善
完整目錄
熱門推薦
{{ item.subject }}
{{ item.channelVendor }}
|
{{ item.webinarstarted }}
|
{{ formatDate(item.duration) }}
直播中
立即報名
尚未有邦友留言
立即登入留言
iThome鐵人賽
參賽組數
902
組
團體組數
37
組
累計文章數
19844
篇
完賽人數
528
人
看影片追技術
看更多
{{ item.subject }}
{{ item.channelVendor }}
|
{{ formatDate(item.duration) }}
直播中
熱門tag
15th鐵人賽
16th鐵人賽
13th鐵人賽
14th鐵人賽
17th鐵人賽
12th鐵人賽
11th鐵人賽
鐵人賽
2019鐵人賽
javascript
2018鐵人賽
python
2017鐵人賽
windows
php
c#
linux
windows server
css
react
熱門問題
iOS 裝置無法透過 IPsec VPN 連入 FortiGate,請問正確設定方式?
EPSON LQ-690C 印表機中一刀跑版
[Javascript] 非同步執行,如何延緩後面程式的處理 ??
AARQ 通訊協議是?
印表機設定 - Epson 690c
Dell or Asus Storage 或NAS,哪牌比較好?
Dell or Asus 伺服器,哪牌比較好?
將硬碟上的 EFI 分割區複製到固態硬碟後,ARM 架構的 Ubuntu Server 無法啟動
sdray vigor2927 sslvpn ip設定問題
FortiGate SSLVPN替代方案?
熱門回答
iOS 裝置無法透過 IPsec VPN 連入 FortiGate,請問正確設定方式?
EPSON LQ-690C 印表機中一刀跑版
[Javascript] 非同步執行,如何延緩後面程式的處理 ??
FortiGate SSLVPN替代方案?
印表機設定 - Epson 690c
熱門文章
DNS 可見度差距:防火牆在網路安全中忽略的錯誤設定
Vue 3 生命週期(Lifecycle) 四大階段 建立(Create)、掛載(Mount)、更新(Update)、 銷毀(Unmount)
[資料治理實戰回憶錄]0-從失敗中開始
台灣職場必學的Excel函數技巧
VScode 開發應用系統專案(8-1) - Spring Boot Security 設定與認證前置準備
IT邦幫忙
×
標記使用者
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{ result.label }}
{{ result.account }}